﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using Library.UI.Grid;
using QuanLyDiem.models;
using QuanLyDiem.Controllers;
using Library.UI.Form;
namespace QuanLyDiem.DanhMuc
{
    public partial class frmMonHoc : DevExpress.XtraEditors.XtraForm
    {
        public frmMonHoc()
        {
            InitializeComponent();
        }
        public int abc { get; set; }
        private void MonHoc_Load(object sender, EventArgs e)
        {
            Context db = new Context();
            gridView1.Config(true, false, false, false, true, false, true, false, false);
            gridView1.Config2(DevExpress.XtraGrid.Views.Grid.GridMultiSelectMode.RowSelect, false, true);
            monHocBindingSource.DataSource = db.MonHocs;
        }

        private void gridView1_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e)
        {
            var monhoc = gridView1.GetFocusedRow() as MonHoc;
            if (monhoc == null) return;
            txtmamon.Text = monhoc.Ky_hieu;
            txttenmon.Text = monhoc.Ten_mon;

        }

        private void btnthem_Click(object sender, EventArgs e)
        {
            btnthem.Enabled = btnsua.Enabled = btnxoa.Enabled = false;
            txtmamon.Enabled = txttenmon.Enabled = true;
            txtmamon.Text = txttenmon.Text = "";
            btnhuy.Enabled = btnthuchien.Enabled = true;
      //      txtmamon.Focus();
            abc = 1;
        }

        private void btnthuchien_Click(object sender, EventArgs e)
        {
            Context db = new Context();
            if (txtmamon.Text == "" && txttenmon.Text == "" || txtmamon.Text == "" || txttenmon.Text == "")
            {
                MessageBox.Show("Bạn phải nhập đủ dữ liệu");
            }
            else
            {
                if (abc == 1)
                {
                    var rs = MessageBox.Show("Bạn có muốn thêm dữ liệu không", "Chú ý", MessageBoxButtons.YesNo, MessageBoxIcon.Error);
                    if (rs == System.Windows.Forms.DialogResult.Yes)
                    {
                        try
                        {

                            var monhoc = new MonHoc()
                            {
                                Ky_hieu = txtmamon.Text,
                                Ten_mon = txttenmon.Text
                            };
                            db.MonHocs.InsertOnSubmit(monhoc);
                            db.SubmitChanges();
                          
                            monHocBindingSource.DataSource = db.MonHocs;
                            gridView1.BestFitAllColumns();
                            btnthem.Enabled = btnsua.Enabled = btnxoa.Enabled = true;
                            txtmamon.Enabled = txttenmon.Enabled = false;
                            btnthuchien.Enabled = btnhuy.Enabled = false;
                            MessageBox.Show("Thêm dữ liệu thành công", "Thông báo");
                        }
                        catch (Exception)
                        {
                            MessageBox.Show("Lỗi");
                        }
                    }
                }
                else if (abc == 2)
                {
                    var rs = MessageBox.Show("Bạn có muốn sửa dữ liệu không", "Chú ý", MessageBoxButtons.YesNo, MessageBoxIcon.Error);
                    if (rs == System.Windows.Forms.DialogResult.Yes)
                    {
                        try
                        {

                            var monhoc = gridView1.GetFocusedRow() as MonHoc;
                            monhoc.Ky_hieu = txtmamon.Text;
                            monhoc.Ten_mon = txttenmon.Text;
                            var monhoc1 = db.MonHocs.SingleOrDefault(a => a.ID_mon == monhoc.ID_mon);
                            monhoc1.Ky_hieu = monhoc.Ky_hieu;
                            monhoc1.Ten_mon = monhoc.Ten_mon;
                            db.SubmitChanges();
                     
                            monHocBindingSource.DataSource = db.MonHocs;
                            gridView1.BestFitAllColumns();
                            btnthem.Enabled = btnsua.Enabled = btnxoa.Enabled = true;
                            txtmamon.Enabled = txttenmon.Enabled = false;
                            btnthuchien.Enabled = btnhuy.Enabled = false;
                            MessageBox.Show("Sửa dữ liệu thành công", "Thông báo");
                        }
                        catch (Exception)
                        {
                            MessageBox.Show("Lỗi");
                        }
                    }
                }
            }
            
        }

        private void btnsua_Click(object sender, EventArgs e)
        {
            btnthem.Enabled = btnsua.Enabled = btnxoa.Enabled = false;
            txtmamon.Enabled = txttenmon.Enabled = true;
            btnhuy.Enabled = btnthuchien.Enabled = true;
        //    txtmamon.Focus();
            abc = 2;
            
        }

        private void btnxoa_Click(object sender, EventArgs e)
        {
            if (gridView1.FocusedRowHandle < 0) return;
            var rs = MessageBox.Show("Bạn có muốn xóa dữ liệu không", "Chú ý", MessageBoxButtons.YesNo, MessageBoxIcon.Error);
            if (rs == System.Windows.Forms.DialogResult.Yes)
            {
                try
                {
                    Context db = new Context();
                    var monhoc = gridView1.GetFocusedRow() as MonHoc;
                    var monhoc1 = db.MonHocs.SingleOrDefault(a => a.ID_mon == monhoc.ID_mon);
                    db.MonHocs.DeleteOnSubmit(monhoc1);
                    db.SubmitChanges();
                  
                    monHocBindingSource.DataSource = db.MonHocs;
                    gridView1.BestFitAllColumns();
                    MessageBox.Show("Xóa dữ liệu thành công", "Thông báo");

                }

                catch (Exception)
                {
                    MessageBox.Show("Lỗi");
                }
            }
        }

        private void btnthoat_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void txtmamon_Validating(object sender, CancelEventArgs e)
        {
            //if (string.IsNullOrEmpty(txtmamon.Text))
            //{
            //    MessageBox.Show("Chưa nhập dữ liệu mã môn");
            //    txtmamon.SetFocus();
            //}
        }

        private void txttenmon_Validating(object sender, CancelEventArgs e)
        {
            //if (string.IsNullOrEmpty(txttenmon.Text))
            //{
            //    MessageBox.Show("Chưa nhập dữ liệu tên môn");
            //    txttenmon.SetFocus();
            //}
        }

        private void btnhuy_Click(object sender, EventArgs e)
        {
            var monhoc = gridView1.GetFocusedRow() as MonHoc;
            if (monhoc == null) return;
            txtmamon.Text = monhoc.Ky_hieu;
            txttenmon.Text = monhoc.Ten_mon;
            btnthem.Enabled = btnsua.Enabled = btnxoa.Enabled = true;
            txtmamon.Enabled = txttenmon.Enabled = false;
            btnthuchien.Enabled = btnhuy.Enabled = false;
        }


    }
}